package cn.jy.map.job;

import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.jy.map.domain.VillageColligate;
import cn.jy.map.service.JZAchievementsService;
import cn.jy.map.service.LcBlfyService;
import cn.jy.map.service.LoadAllDataService;
import cn.jy.map.service.VillageColligateService;
import cn.jy.map.utils.MapUtils;

/**
 * 供浆者轮次数据装载任务
 * @author Administrator
 *
 */
@Service("gjzLcDataLoadJob")
public class GjzLcDataLoadJob {
	@Autowired
	private LoadAllDataService loadDataService;
	@Autowired
	private VillageColligateService villageColligateService;
	@Autowired 
	LcBlfyService lcBlfyService;
	@Autowired
	JZAchievementsService jzAchievementsService;
	Logger logger = Logger.getLogger(GjzLcDataLoadJob.class);
	
	public void work(){
		
//		logger.info("执行定时任务开始：装载今天的登记的浆员的轮次数据.....");
//		loadDataService.loadRegGjzLcData(MapUtils.getNowOnlyDateFomat1());
//		logger.info("执行定时任务结束：装载今天的登记的浆员的轮次数据.....");
		
		logger.info("执行定时任务开始：重新装载所有村落的综合统计信息数据.....");
		villageColligateService.loadVillageColligateMsg(null);
		logger.info("执行定时任务结束：重新装载所有村落的综合统计信息数据.....");
		
		logger.info("执行定时任务开始：重新装载供浆者轮次数据.....");
		loadDataService.loadGjzLcData();
		logger.info("执行定时任务结束：重新装载供浆者轮次数据.....");
		
		logger.info("执行定时任务开始：重新装载供浆者轮次数据[只有轮次，没有其他统计数据].....");
		loadDataService.loadGjzRoundData(null);
		logger.info("执行定时任务结束：重新装载供浆者轮次数据[只有轮次，没有其他统计数据].....");
		
		logger.info("执行定时任务开始：修改轮次表中的五步链接信息.....");
		lcBlfyService.updateGjzLcLink(null);
		logger.info("执行定时任务结束：修改轮次表中的五步链接信息.....");
		
		logger.info("执行定时任务开始：修改连接状态.....");
		lcBlfyService.updateLinkState(null);
		logger.info("执行定时任务开始：修改连接状态结束.....");

		logger.info("执行定时任务开始：修改未连接状态.....");
		lcBlfyService.updateNoLinkState(null);
		logger.info("执行定时任务开始：修改未连接状态结束.....");
	
		logger.info("执行定时任务开始：修改未献浆和建档未成功轮次.....");
		lcBlfyService.getLCByGJZXX(null, "2004-01-01", MapUtils.getNowOnlyDateFomat1(), null);
		logger.info("执行定时任务开始：修改修改未献浆和建档未成功轮次结束.....");
		logger.info("执行定时任务开始：写入新增浆员.....");
		lcBlfyService.insertZDJYLX();
		logger.info("执行定时任务开始：写入新增浆员结束.....");
		logger.info("执行定时任务开始：更新介绍人到轮次表开始.....");
		lcBlfyService.updateByJSR();
		logger.info("执行定时任务开始：更新介绍人到轮次表结束.....");
		logger.info("执行定时任务开始：装载村落综合信息统计.....");
		List<VillageColligate> list=MapUtils.villList;
		if (list.size()>0) {
			list = lcBlfyService.getVillStatistics();
		}
	       list=MapUtils.villList;
		
		logger.info("执行定时任务结束：装载村落综合信息统计.....");
		logger.info("执行定时任务开始：清空浆量表.....");
		jzAchievementsService.deletePulpWeight();
		jzAchievementsService.insertPulpWeight(null);		
		logger.info("执行定时任务开始：重新装载所有护士下面链接的浆员的综合统计信息.....");
		loadDataService.loadAllNurseProviderLc();
		logger.info("执行定时任务结束：重新装载装载所有护士下面链接的浆员的综合统计信息.....");
		MapUtils.thisLast.clear();
		MapUtils.jzAchievements.clear();
		MapUtils.thisLastPulp.clear();
		logger.info("执行定时任务开始：重新装载所有地址下面的所有浆员卡号集合【没有除开废弃浆员和超龄浆员】.....");
		loadDataService.loadAllVillProviders();
		logger.info("执行定时任务结束：重新装载所有地址下面的所有浆员卡号集合【没有除开废弃浆员和超龄浆员】.....");		
	}
}
